

#include "CSceneNodeAnimatorFlyCircle.h"

namespace irr
{
    namespace scene
    {

        //! constructor
        CSceneNodeAnimatorFlyCircle::CSceneNodeAnimatorFlyCircle(u32 time, const core::vector3df& center, f32 radius, f32 speed)
            : Radius(radius), Center(center), Speed(speed), StartTime(time)
        {
#ifdef _DEBUG
            setDebugName("CSceneNodeAnimatorFlyCircle");
#endif
        }



        //! destructor
        CSceneNodeAnimatorFlyCircle::~CSceneNodeAnimatorFlyCircle()
        {
        }



        //! animates a scene node
        void CSceneNodeAnimatorFlyCircle::animateNode(ISceneNode* node, u32 timeMs)
        {
            core::matrix4 mat;

            f32 t = (timeMs-StartTime) * Speed;

            core::vector3df circle(Radius * (f32)sin(t), 0, Radius * (f32)cos(t));
            node->setPosition(Center + circle);
        }


    } // end namespace scene
} // end namespace irr

